-
Notifications
You must be signed in to change notification settings - Fork 126
Feature/integration tests #81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adds a toolchain file that defines what is needed to build the libraries on Linux for a 32-bit, i386, architecture, and move existing toolchain files, into a subfolder. Adds special logic for libsecret, which always tries to include glib for x86_64 if it is present, instead of i386. PiperOrigin-RevId: 291193156
PiperOrigin-RevId: 291195488
PiperOrigin-RevId: 291255512
For the packaging step, it is expecting the libraries to be the static versions, so use those instead. Corrects the one case that was using only the one library, when both are now needed as a result. Tests build and run on all desktop platforms with this change. PiperOrigin-RevId: 291441343
We no longer need GMS Core hack PiperOrigin-RevId: 291482238
PiperOrigin-RevId: 291758347
PiperOrigin-RevId: 291808636
The current prebuilts put the darwin builds under "darwin/x86_64", so reproduce that behavior for the CMake packaging logic. PiperOrigin-RevId: 291844613
Implementation of the API for Firebase Test Lab Game Loops in C++. Gathers game loop data from the Android SDK via JNI calls. Currently, the app is exited by killing the thread with a call to exit(). This worked locally, but isn't the proper way to exit a native app. Simply finishing the activity puts the app in a bad state where it can't be started again. Also, custom results are currently unformatted. WANT_LGTM=smiles #FTLGameSDK PiperOrigin-RevId: 291940340
The manual changes are: - remove stale reference to `util/status_testing.h` from `core/BUILD` under `third_party/`; - rename references to `api::Query::Limit` to `api::Query::LimitToFirst`; - make the destructor of `util::Filesystem` virtual to prevent compiler warning (Linux is compiled with `-Werror`); - update testapp podfiles and Unity build files to require the FirebaseFirestore 1.10.0 CocoaPod. Note: M62 is deliberately skipped/rolled into this import. Some transaction-related tests are failing until cr/292025113 is submitted (e.g., see https://sponge.corp.google.com/target?id=e30aaf69-d309-402c-accd-3a9bc7318bf9&target=//firebase/firestore/client/cpp:transaction_test_emulator&searchFor=user:varconst&show=FAILED%2CPENDING&sortBy=STATUS). Copybara-generated description follows: Import of Firestore from GitHub. - c7e0e125e43c695a0f4178f68fc977727f6a2f32 Update versions for Release 6.16.0 by Maksym Malyhin <mmaksym@google.com> - ecb26bf43822381d3116662c137bef26040b74bc Migrate LevelDB data out of ~/Documents (#4609) by Gil <mcg@google.com> - 9313d61a2131d919ffc58186988b3ae7e91d68ea Add verify support (#4658) by Brian Chen <chenbrian@google.com> - bdd111ff28e58c8036d0e3aa3c771447660c5939 Put coments directly above enum definition (#4679) by Gil <mcg@google.com> - 51e17ac8c5e5c29d3b73b4668aa117ca8eb11b68 Rename QueryData|Cache to TargetData|Cache (#4670) by wu-hui <53845758+wu-hui@users.noreply.github.com> - 2328d1f365982bccd37c92656f41f177814ea1c2 Merging the 6.15.0 release into master (#4682) by Sam Edson <samedson93@gmail.com> - ff21f1ecb35d63027642a6c0ed74d8851bf506d4 Make a Filesystem class that can be subclassed for testin... by Gil <mcg@google.com> - 423a62f874debcf20e08610dd40f217fefe1474f Enable Index-Free queries (#4618) by Sebastian Schmidt <mrschmidt@google.com> - 6cc1a449ea81db923e57703db6f538be240341de Clean up Objective-C interop and other dead code (#4601) by Gil <mcg@google.com> - fe822f4fab3321953c3e86d35420d7d152ae17e4 Update CHANGELOG for Firestore v1.9.0 (#4626) by Gil <mcg@google.com> - 14e28121e2c83127eedce73f3d3983bbb1ce7182 Release LimitToLast (#4616) by wu-hui <53845758+wu-hui@users.noreply.github.com> - 9a4f4e73c7b6d8b8ba360168ffe6764617d841a4 Miscellaneous fixes (#4584) by Gil <mcg@google.com> - d261cdeb9bec45317c2d5086336e3a3b5f33e651 Finish Index-Free queries (still disabled) (#4484) by Sebastian Schmidt <mrschmidt@google.com> - df3989b8a296b109256566eff64c79a12a5a6bb7 Fix lint warnings spotted by google3's linter (#4538) by Gil <mcg@google.com> - c17e1dfad8255305624d25eb120e0f6445243f78 Permanently fix formatting presubmit warnings in google3 ... by Gil <mcg@google.com> PiperOrigin-RevId: 292221182
waiting on cl/292025113 to go in first to allow tests to pass TESTED= linux: http://sponge2/ce3c91a9-a3f9-42d5-b76f-daff37935288 iOS: http://sponge2/45798482-0370-41a4-8470-655dd07eb8fe Android: http://sponge2/aed789cf-a62b-403e-9b50-65201d69719b PiperOrigin-RevId: 292227077
Reduce the scope when CallbackEntry::mutex_ is locked. Also change CallbackQueue to keep a list of SharedPtr instead of raw pointer of CallbackEntry to prevent it from being deleted while CallbackEntry::Execute() is running. PiperOrigin-RevId: 292236040
Change to firestore.cc is to ensure all integration tests run. PiperOrigin-RevId: 292248445
…r revokes auth token. Also change assert() to FIREBASE_DEV_ASSERT() to compile out in release build. PiperOrigin-RevId: 292447554
PiperOrigin-RevId: 292543116
+mcg@ for java readability approval TESTED= linux: http://sponge2/e38ce350-ddeb-4461-9db7-07d20ed34e29 iOS: http://sponge2/f1fa15e4-747d-43f4-b725-f5f38ef9f9d3 Android:http://sponge2/72ec3dd4-cb27-4698-a14a-f365c03ee5f2 PiperOrigin-RevId: 292610511
Making some edits to comments based on other CL reviews. PiperOrigin-RevId: 292645766
PiperOrigin-RevId: 292959264
Summary of changes: 1. Remove `firestore_google3` target so that all builds use `firestore`. To achieve this, Firestore on Android now unconditionally uses `timestamp_portable.cc` and `geo_point_portable.cc`. While it's unfortunate not to use the canonical versions from GitHub, doing so significantly simplifies build configuration. 2. In `core/BUILD` under `third_party/`, merge most finer-grained library targets that previously were dependencies of `util` into `util`. This simplifies the build. 3. Fix deadlock while initializing credentials provider. The problem was that credentials provider was registering an Auth listener and then calling `Auth::current_user` for the first time. The first invocation of `Auth::current_user` may trigger Auth listeners and block until they are done; the credentials provider' Auth listener tries to call `Auth::current_user` again, leading to a deadlock. 4. Clear C#-to-C++ callbacks when the C# Firestore instance is destroyed. This prevents assertions from triggering. 5. Register the C# Firestore instance to listen to the event when Firebase App is disposed and clean up accordingly. PiperOrigin-RevId: 292995447
At some point I added a NoopPersistenceStorageEngine which is a version of the PersistenceStorageEngine interface which takes no actions, intended for use with the special .info sync tree which does not persist it's data. However, that was the wrong level of abstraction, and it was the PersistenceManager that should have had the Noop version of it. This fixes a potential issue where .info values are returned null instead of the value they are supposed to be. PiperOrigin-RevId: 293012252
According to amaurice@, the lack of comments on this template is causing the doc generator to error out PiperOrigin-RevId: 293023679
PiperOrigin-RevId: 293053287
directory. PiperOrigin-RevId: 293193823
PiperOrigin-RevId: 293402855
The only manual change is to use the newly-added `AsyncQueue::Create` function. Copybara-generated description follows: Import of Firestore from GitHub. - c2ec9dac574455a040cbb6ad591110a8c3a04f37 Fixes for issues discovered in the Unity desktop build (#... by Gil <mcg@google.com> PiperOrigin-RevId: 293454352
PiperOrigin-RevId: 293903093
Built and ran a handful of the iOS testapps on blaze to validate. Replaced the saved versions of Installations and IID, as the previous frameworks had a reference to a function not available in Xcode 10.3 PiperOrigin-RevId: 293930407
PiperOrigin-RevId: 294254094
- Added a new test_mac_ios_simulator build script. This builds in its own subdirectory separate from test_mac_ios.sh. - Simulator target builds for the x86 arch. - Added new objective c test runner to execute tests on iOS. - Cmake builds hte runner as an unsigned .app file and can be deployed on iphone simulators. - Updated cc_test_on_ios cmake functions to leverage the test runner as an execution HOST. These targets now build xctest files which are embedded in the test runner .app file. - Removed the cctest execution at the end of the ios build scripts, which is incongruent with test execution flow on ios simulators. Note that the tests still can't be executed as the Info.plist files are not be injected with the proper key values. PiperOrigin-RevId: 294685221
It was broken by cr/314847898 due to a missing include. PiperOrigin-RevId: 315012093
quota. Fix the error text on desktop (and in our docs) to reflect that. PiperOrigin-RevId: 315024807
Make sure that C# code never directly refers to `std::vector` or `std::unordered_map`. As a side effect, this also eliminates types like `SWIGTYPE_p_std__vector` being generated (with the exception of `std::vector<FieldValue>` which comes from some of the `Query` member functions, to be fixed in a follow-up). Also make the wrappers into template classes to cut down boilerplate. There are 15 remaining leaks after running all the Unity testapp tests. They are not related to C++ standard library containers. PiperOrigin-RevId: 315339692
PiperOrigin-RevId: 315484295
Update copybara logic to handle proguard files and leveldb Work around bug in flatbuffers with file generation Update Firestore to 1.13.0 PiperOrigin-RevId: 315535927
The newer method does not have a way to add a dependency prior to running flatc, which is needed when doing an Android or iOS build. PiperOrigin-RevId: 315564118
The only manual changes are to: - rename references to members of the `Error` enum (e.g. s/Error::kOk/Error::kErrorOk); - revert the google3-internal change to `exception.cc` being overwritten (see cr/295257418). Copybara-generated description follows: Import of Firestore from GitHub. - 17746dd3a0afa5781e1d401b54d94225d0bc7061 Update CHANGELOG for Firestore v1.15.0 (#5688) by Gil <mcg@google.com> - f83f3418db7bfa16a85cdc494ea17b0f22811125 Avoid destroying the Task's operation while holding a loc... by Gil <mcg@google.com> - 0cf5999e424e4c29585cad9088d3259244a97d4d Update comment for addSnapshotsInSyncListener (#5660) by Brian Chen <chenbrian@google.com> - d935e849472a302faad7168c6332ff3feaf1f6dc Make RemoveSnapshotsInSyncListener run on the async queue... by Gil <mcg@google.com> - 5f5b65a539404687433848af65ff0ec8183ad3c0 Avoid blocking access to the AsyncQueue during Dispose (#... by Gil <mcg@google.com> - 8ef8b3040dc4a370305f844636ac63b7e1d9d456 Implement safe, synchronous destruction in Firestore (#56... by Gil <mcg@google.com> - e462d04ddb03d4f76768b85a1168fcfa46d92573 Make Executors have deterministic shutdown (#5547) by Gil <mcg@google.com> - 819091b289b48ac111008f0950853fd7bb54a521 Fix Windows and Fuzzing builds (#5616) by Gil <mcg@google.com> - 755410f937214c5fd33801fca4e303d3c59c26af Bump stream closing log to WARN. (#5604) by wu-hui <53845758+wu-hui@users.noreply.github.com> - 7f9d28f7af2ddc057b61ba7d53f1392c9b82d043 Make sure `timestamp.h` compiles even in presence of `min... by Konstantin Varlamov <var-const@users.noreply.github.com> - b57f8b2ce64d2f2cb36fab3150fec99f6ab1d385 Add defer, a general facility for ad-hoc RAII. (#5554) by Gil <mcg@google.com> - a3d8377c7a293d6e2dd7635eef353eaa79e2be4d Update CHANGELOG for Firestore v1.14.0 (#5601) by Gil <mcg@google.com> - 287224cdf417a61d1a6525650c2ca6ca3914c5c5 Update CHANGELOG for FirebaseFirestoreSwift v0.3 (#5583) by Gil <mcg@google.com> - 9f17a76e825df5a8bca0985fc0d542f40a6c8541 Spelling error in FirestoreDecodingError (#5520) by Lorenzo Fiamingo <l99fiamingo@gmail.com> - 8633f5f6a3ca936085c9ee90680b45660eb19dd0 Make sure every member of `Error` enum has the `kError` p... by Konstantin Varlamov <var-const@users.noreply.github.com> - df3679275cd5ec7c8f044a4d1bee50f0e8ab43fe Add an integration test for calling clearPersistence() on... by Denver Coneybeare <dconeybe@google.com> PiperOrigin-RevId: 315635221
In the FutureBase constructor, we detached the handle since already has the actual future instance to hold the reference count. PiperOrigin-RevId: 315973013
PiperOrigin-RevId: 316178401
…S=OFF. PiperOrigin-RevId: 316190122
* Use Executor::CreateSerial PiperOrigin-RevId: 316809187 * Fix future crash that cause unity editor to crash second time enter play mode. FutureProxyManager still grabs FutureHandle that supposed to be cleaned up and released. Force release them during proxy manager's destructor. PiperOrigin-RevId: 316809477 * Fix integration test caused by curl http2 default setting PiperOrigin-RevId: 317136423 * Pin the Firestore pod used by the open source repo to the version from 6.26.0 PiperOrigin-RevId: 317141369 * Project import generated by Copybara. PiperOrigin-RevId: 317141369 * Add unit tests for the Firebase libraries PiperOrigin-RevId: 317141369 Co-authored-by: wuandy <wuandy@google.com> Co-authored-by: cynthiajiang <cynthiajiang@google.com> Co-authored-by: amaurice <amaurice@google.com> Co-authored-by: Googler <noreply@google.com>
* copied googletest.cmake file from latest Firestore version * Updated copyright notice for 2020
* Ensure auth_test creates an auth object with no signed in users. * Add a utility to easily sleep for auth listeners to receive their callbacks * added sleep before verification of idtoken and authstate listeners * reworked reauthentication test to sign in and reauth with email credentials. * put back MaybeWaitForFuture in Setup()
…t directories. Also add code to call setup_integration_tests.sh when building for desktop or android, or installing pods.
…ity with Windows.
python script to set up the project.
bfc3941 to
f9cc9d8
Compare
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
Added integration test build for Desktop and Android. iOS requires adding dependencies manually right now and so does not yet build automatically.
Tested on Mac and Linux for both desktop and Android. Not yet tested on Windows, but will do that in a follow-up after we hook it up to the GHA.
Note that there are a few manual things that have to happen before the integration test can be run: